/**
 * 手机号脱敏
 *
 * @param phone 手机号
 * @returns 脱敏后的手机号
 */
export const maskPhoneNumber = (phone: string) => {
  if (!/^\d{11}$/.test(phone)) return phone // 非11位数字直接返回原值
  return phone.replace(/^(\d{3})\d*(\d{4})$/, '$1****$2')
}

/**
 * 姓名脱敏
 *
 * @param name 姓名
 * @returns 脱敏后的姓名
 */
export const maskName = (name: string) => {
  if (!name || typeof name !== 'string') return ''

  const len = name.length
  if (len === 1) return name
  if (len === 2) return `${name[0]}*`

  const middle = '*'.repeat(len - 2)
  return name[0] + middle + name[len - 1]
}
